home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / PROGMISC / FPCHELP.LZH / SEDITOR.HLP < prev    next >
Text File  |  1988-01-11  |  29KB  |  819 lines

  1. \ SEDITOR.HLP   Sequential EDitor          Written by 1987 Tom Zimmer
  2.  
  3. editor          ( --- )
  4.         The EDITOR vocabulary, contains all of the editor words.
  5.  
  6. real.firstline          First edit line on the screen.
  7. first.textline          First text line on screen, same as above.
  8. lines/screen            Total lines on the screen.
  9. statusline              The line where the status line will be displayed.
  10. helpline                The line where the help line will be displayed
  11. ch/l                    Maximum characters that will fit on a line.
  12. helpkey                 The default value of the help key is F1 key
  13.  
  14. last.textline           Last line text will use.
  15. torig                   Offset of text in the text segment
  16. crlfval                 value of line terminator CRLF.
  17. blbl                    value of two blanks.
  18. linebuf.len             Length of the linebuffer
  19. formfeed                value of a form feed character
  20. prtlines                printed lines per page
  21.  
  22. nfil                    An empty file constant array, for initialization.
  23. blnks                   128 blanks, for speed of output
  24.  
  25. screenline              current screen line
  26. screenchar              current screen character
  27. curline                 current line number
  28.  
  29. origcur                 original cursor chape value.
  30. cursave         ( --- ) Save the original cursor shape.
  31. currest         ( --- ) Restore the original cursor shape.
  32.  
  33. imode           insert mode flag
  34. lastline        last valid line in file.
  35. lmrgn           Left margin location
  36. memleft
  37. newfl           was new file created?
  38. changed         edit changed flag
  39. markline        mark/get line #
  40. markchar        mark/get character offset
  41. updated         have we updated to disk yet?
  42. lookflg         did we find anything last time?
  43. xrmrgn          Maximum right margin of longest line.
  44. wrapped         Did we wrap a line?
  45. wraplen         What was the wrap length
  46. wraploc         Where did it wrap
  47. escflg          are we escaping during filename entry
  48. filtering       are we looking for ESC and Alt-F10?
  49. lchng           line changed flag
  50. ldel.cnt        count of line deletes
  51. emptyline
  52. leftsave        save place for left margin
  53. rightsave       save place for right margin
  54. edready         ready to edit, we have a file, and can enter
  55.                 editor on it, with no problem.
  56. lastldline      last line we were editing.
  57.  
  58. showstat        The function to display the status line.
  59. exit.edit       The exit editor function, defaults to QUIT
  60. doacharx
  61.  
  62. vstaton         Is status displaying on?
  63. statcnt         How long ago did we display the status line,
  64.                 do we need to do it again?
  65.  
  66. slook.buf       search buffer used for searching.
  67.  
  68. linebuf         Our line buffer
  69. temp.buf        A temporary buffer used for several things.
  70. split.buf       The split a line buffer, for saving part of line.
  71. wrap.buf        The wrap buffer, used when wrapping a line.
  72. temp2.buf       Another temporary buffer.
  73.  
  74. ldel.buf        The line delete offset for the line delete segment.
  75. linelen         The line length constant/variable.
  76.  
  77. --'s.buf        An array filled with the - character, for speed.
  78.  
  79. -s              ( n1 --- )
  80.                 Print out n1 -'s
  81.  
  82. gremit          Create a class of words that emit graphics characters.
  83.  
  84. |.              A graphics character.
  85. --              A graphics character.
  86. |               A graphics character.
  87. .|              A graphics character.
  88. '|              A graphics character.
  89. |'              A graphics character.
  90.  
  91. ss              Print some speedy spaces.
  92.  
  93. ||              Print a vertical line character at the right edge
  94.                 of the screen.
  95.  
  96. .l              ( n1 n2 --- )
  97.         Print n1 left justified in fld width n2.
  98.  
  99. margin.save     ( --- )
  100.         Save the current values of the left and right margin variables
  101.         for later restoral.
  102.  
  103. margin.restore  ( --- )
  104.         Restore the left and right margin values saved previously.
  105.  
  106. emptykbd        ( --- )
  107.         Empty out the keyboard typeahead buffer.
  108.  
  109. ?shiftkey       ( --- f1 )
  110.         Is the shift key being held down? Reads a low memory location,
  111.         masks with the 02 value below to return a boolean flag.
  112.  
  113.                 02 = Shift key, 08 = Alt key, 40 = Caps lock.
  114.  
  115. eeol            ( --- )
  116.         Erase the current line from the cursor position, to the right
  117.         edge of the screen.
  118.  
  119. creeol          ( --- )
  120.         Print a carraige return, and erase all of the next line. Leaves
  121.         the cursor at the beginning of the line following the current line.
  122.  
  123. erase.bottom    ( --- )
  124.         Erase the screen from the line below the current line, to the
  125.         bottom of the screen.
  126.  
  127. terminate.edit  ( --- )
  128.         Terminate the current edit session. Calls EXIT.EDIT which is
  129.         a defered word.
  130.  
  131. ?terror         ( f1 a1 n1 --- )
  132.         Using the boolean f1. If f1 is true, then terminate the edit
  133.         after printing the message specified by a1,n1. If f1 is false,
  134.         then throw a1,n1 away and continue execution.
  135.  
  136. set.newfile     ( --- )
  137.         Build a new empty file in the edit buffer.
  138.  
  139. ?softerror      ( bool a1 n1 --- )
  140.         If bool is true, warn the user of a non-fatal error, by printing
  141.         message a1,n1 on the status line. Delay 2 seconds for the user to
  142.         see the message before continuing.
  143.  
  144. change.ext    ( a1 --- )
  145.         Rename the file specified by the current file handle to
  146.         be the same name with a new extension specified by counted
  147.         string a1.
  148.  
  149. clearit         ( --- )
  150.         Perform the Cold bood INITSTUFF, and clear out the DOS
  151.         command line buffer.
  152.  
  153. read.openfile   ( --- )
  154.         Read the file that is currently open into the edit buffer.
  155.         The read is clipped to 64000 characters.
  156.  
  157. read.oldfile    ( --- )         \ get existing file
  158.         Test the currenly open file for a length of greater than 64000.
  159.         If the file is longer than 64000 characters, then the file
  160.         reat up to 64000 characters, and renamed with the .ORG extension.
  161.  
  162. ?diskfull       ( --- f1 )
  163.         Test the current drive to make sure there is enough space to
  164.         save the file just read. If there is not enough space in disk,
  165.         then warn the user that no changes can be saved.
  166.  
  167. read.file       ( --- )
  168.         Open and read the file spedified by the current file handle.
  169.         if the file does not exist, setup a new file. Also checks
  170.         disk space requirements after an existing file is read.
  171.         Will not allow the reading of a file with the extension .BAK.
  172.  
  173. ?change.bak     ( --- )
  174.         Change the extension of the current file to .BAK.
  175.  
  176. write.file      ( --- )
  177.         Write the file currently in memory out to disk. Will inform
  178.         the user if an error occurs while writting, giving him another
  179.         chance to write to another disk.
  180.  
  181. show.dir        ( --- )
  182.         If the computer is running DOS 3.x then use a system call to
  183.         print a list of all the .SEQ files in the current directory.
  184.         Does not do this on a DOS 2.x computer, because most of them
  185.         are PC 8088 machines, and it would result in long delays.
  186.  
  187. skeyfilter      ( n1 --- n2 )
  188.         A special filter that converts ESC and Alt-F10 to be the same
  189.         as the Enter key, except they turn on the ESCFLG variable to
  190.         mark an aborted operation.
  191.  
  192. getafile        ( --- f1 )
  193.         Accepts a filename from the terminal input stream. If the
  194.         input stream is empty, then prompt for a filename using
  195.         GETFILE. If no name is entered, then a flase flag is returned,
  196.         else a true flag is returned. Then name is placed in the
  197.         current file handle.
  198.  
  199. get.filename    ( --- f1 )
  200.         Prompsts the user for a filename to edit. If no name is
  201.         entered, then prints exit message about author and leaves
  202.         the last file open. returns a true flag for good name entered,
  203.         or false for no name entered.
  204.  
  205. set.file        ( | name --- f1 )
  206.         If a name follows on command line, then it is accepted.
  207.         If no name is following, then prompts for a name.
  208.  
  209. get             ( | name --- f1 )
  210.         Prompt for a name, and then read it, otherwise return with
  211.         false flag.
  212.  
  213. put             ( --- )
  214.         Save the file currently in memory. If there is not enough disk
  215.         space to save the curent file, then prompts the user to insert
  216.         another disk to save on. No return to editing is allowed, only
  217.         ESC to DOS without saving is allowed if no new disk is inserted.
  218.  
  219. linebuf:        ( --- seg a1 )
  220.         Return the segment and address of the edit line buffer.
  221.  
  222. lineptr         ( --- a1 )
  223.         Return the address in the edit buffer segment of the current
  224.         edit line.
  225.  
  226. lineinfo        ( --- a1 n1 )
  227.         Return the address and length of the current line in the
  228.         edit segment.
  229.  
  230. showcur         ( --- )
  231.         Display the cursor on the screen. Automatically adjusts
  232.         for horizontal scrolling.
  233.  
  234. #lineinfo       ( n1 --- seg a1 n2 )
  235.         For line n1, return the segmetn, address, and length of that
  236.         line in edit space.
  237.  
  238. stripbl's       ( --- )
  239.         String the blanks from the line of text in the line buffer.
  240.         Adjusts the count at the beginning of the line buffer.
  241.  
  242. restore.name    ( --- )
  243.         When aborting an edit, this word is called to restore the
  244.         backup file to the proper extension. This will be done
  245.         unless the current file in memory has been saved, and there
  246.         is in fact no backup file on the disk. In this case, the
  247.         normal extension file on the disk is left there and not deleted.
  248.  
  249. getline         ( --- )
  250.         Read the current line from the edit segment, to the line
  251.         buffer.
  252.  
  253. putline         ( --- )
  254.         If the line in the line buffer has been modified, write it
  255.         from the line buffer to the edit segment.
  256.  
  257. curline+        ( --- )
  258.         Move down one line in the edit segment buffer, making the next
  259.         line the current line. This routine really just moves a line
  260.         located in the edit segment from one place to another, adjusting
  261.         the current line pointer.
  262.  
  263. curline-        ( --- )
  264.         Move up one line in the edit segment buffer, making the previous
  265.         line the current line. See also CURLINE+.
  266.  
  267. rsplit          ( --- a1 )
  268.         This variable holds the line length at which line splitting occurs
  269.         if no line breaks are found in the text. Specifically this is
  270.         set to 64, so .BLK files will be split into lines, and can then
  271.         be edited properly.
  272.  
  273. ?lf's           ( --- )
  274.         Test the file that has just been read from disk to see if it
  275.         contains the line break character "linefeed". If no linefeed
  276.         character is found in the first 250 characters of the file,
  277.         then an autosplit of lines will occur at 64 character boundries.
  278.         The file is also renamed to .TMP if the splitting occurs.
  279.  
  280. stripCtl-Z's    ( --- )
  281.         Shorten the file as required to strip any Control Z characters
  282.         that may have been appended to the end of the file by any
  283.         other editor.
  284.  
  285. ?lastline       ( --- f1 )
  286.         return a boolean flag f1 true if the current line is the
  287.         last line in the file.
  288.  
  289. ?firstline      ( --- f1 )
  290.         Return a boolean flag f1 true if the current line is the first
  291.         line in the file.
  292.  
  293. ?stripbl's      ( --- )
  294.         If the lines were split at 64 characters, then process all lines
  295.         and strip any trailing blanks from each line. Also appends
  296.         a CRLF to each line.
  297.  
  298.  
  299. >lf             ( a1 --- a2 )
  300.         Adjust address a1 within the edit segment to become address a2
  301.         the address of the next linefeed character in the buffer. Also
  302.         adjusts XRMRGN to maintain it as the value of the longest
  303.         line in the file, used to set the firth margin automatically.
  304.  
  305. build.linelist  ( --- )
  306.         Build that values in the line pointer table from the text
  307.         in the edit segment. The line pointer table is used to allow
  308.         the lines of the file to be manipulated very quickly.
  309.  
  310. sinit           ( --- )
  311.         Initialize the editor. This word is called after reading a
  312.         file into the edit segment, it builds the line pointer table,
  313.         and initializes all variables in the editor.
  314.  
  315. sltype          ( n1 --- )
  316.         Type file line n1 to the display at the current cursor location.
  317.         The cursor is moved to the correct line before this routine
  318.         is called.
  319.  
  320. <statfunc>      ( --- )
  321.         Show the status line on the display. Shows Line, Column, ect.
  322.  
  323. fullfunc        ( --- )
  324.         Displays the status line with a MEM FULL message at the top left
  325.         of the status display. Used when the edit file has filled the
  326.         space available for editing.
  327.  
  328. statfunc        ( --- )
  329.         Display the status line with either an INSERT or an OVERTYPE
  330.         message to the left of the status line.
  331.  
  332. lsl             ( --- n1 )
  333.         A constant that return the last screen text line.
  334.  
  335. ?full           ( --- f1 )
  336.         Returns a boolean f1 true if the file in memory has increased
  337.         in size to greater than 64000 characters.
  338.  
  339. ?showfull       ( --- )
  340.         Test for memory full, and select the full memory status display
  341.         function if memory is full.
  342.  
  343. ?maxlines       ( --- f1 )
  344.         return a boolean f1 true if the file has grown to be larger
  345.         than the maximum number of lines allowed.
  346.  
  347. sdisp           ( --- )
  348.         Display the current line from the line buffer to the display.
  349.  
  350. scrshow         ( --- )
  351.         Re-display all of the lines of the screen.
  352.  
  353. <sdln>          ( --- )
  354.         Move down one line in the file, without displaying anything
  355.         on the screen.
  356.  
  357. <suln>          ( --- )
  358.         Move up one line in the file, without displaying anything
  359.         on the screen.
  360.  
  361. sdisplay        ( --- )
  362.         Display the current edit line on the screen.
  363.  
  364. ins.linelist    ( --- )
  365.         Insert a new entry into the line pointer list at the current
  366.         line.
  367.  
  368. ?appendline     ( --- )
  369.         Conditionally add a line to the end of the current edit file
  370.         if the current line is the last line.
  371.  
  372. clipdown        ( --- )
  373.         Clip the line on which the cursor will be displayed, to be
  374.         within the lines of the file.
  375.  
  376. sdln            ( --- )
  377.         Move down one line in the current file, with screen display.
  378.  
  379. <shom>          ( --- )
  380.         Move to the beginning of the current file without screen
  381.         display.
  382.  
  383. shom            ( --- )
  384.         Move to the beginning of the current file with screen display.
  385.  
  386. send            ( --- )
  387.         Move to the end of the current file with screen display.
  388.  
  389. suln            ( --- )
  390.         Move up one line in the current file with screen display.
  391.  
  392. ?cursor         ( --- )
  393.         Adjust the cursor chape to the current editor mode, Insert
  394.         or Overwrite.
  395.  
  396. line>ldel.buf   ( --- )
  397.         Save the current line in the line buffer to the line delete
  398.         buffer in the delete segment.
  399.  
  400. ldel>linebuf    ( --- )
  401.         Move a line from the line delete segment buffer to the line
  402.         buffer.
  403.  
  404. <ldel>          ( --- )
  405.         Delete the current edit line, saving it in the line delete
  406.         buffer. Does not show results to the display.
  407.  
  408. ldel            ( --- )
  409.         Delete the current edit line and display the results to the
  410.         screen. The line is saved in the line delete buffer.
  411.  
  412. ?stripblanklines ( --- )
  413.         If the current file was a file split at 64 character boundries,
  414.         then this routine will strip off (delete) any blank lines that
  415.         occur at the end of the file.
  416.  
  417. to.line         ( n1 --- )
  418.         Move forward from the current line to line n1. Automatically
  419.         stops at the end of the file.
  420.  
  421. backto.line     ( n1 --- )
  422.         Move back from the current line to line n1. Automatically
  423.         stops at the first line of the file.
  424.  
  425. .elapse         ( --- )
  426.         Print the total time spent in the editor to the display.
  427.  
  428. updt            ( --- )
  429.         Save any changes that have been made to the current file,
  430.         and continue editing.
  431.  
  432. squt            ( f1 --- f2 )
  433.         Abort the current edit session, and discard any changes
  434.         that have been made. Mark memory as empty.
  435.  
  436. <sesc>          ( f1 --- f2 )
  437.         Save any changes that have been made to the current file, and
  438.         terminate the edit. Returns F2 true to cause the edit to
  439.         terminate.
  440.  
  441. sesc            ( f1 --- f2 )
  442.         Leave the editor, select save and exit, or if shift is held
  443.         down, then select abort the save.
  444.  
  445. <nlnx>
  446.         A defered word to allow a forward reference. See NLN
  447.  
  448. ?addline        ( -- )
  449.         If this is the last line, then add a blank line following
  450.         this line. Saves and restores the cursor position.
  451.  
  452. rchr            ( --- )
  453.         Move right one character in the current edit line. Will go
  454.         down to the beginning of the next line if you move to the right
  455.         of the right margin.
  456.  
  457. chrptr          ( --- a1 )
  458.         Return address a1 the address of the current character in the
  459.         current line in the line buffer.
  460.  
  461. shoml           ( --- )
  462.         Move to the beginning of the current edit line.
  463.  
  464. sendl           ( --- )
  465.         Move to the end of the current edit line.
  466.  
  467. ?leftshow       ( --- )
  468.         reshow the screen fi the screen scrolled while moving the
  469.         cursor left.
  470.  
  471. lchr            ( --- )
  472.         Move the cursor left in the current line. Will wrap up to
  473.         the end of the previous line if the cursor trys to move to
  474.         the left of column 0.
  475.  
  476. ?showstatus     ( --- )
  477.         Show the status line on the display if it needs to be shown,
  478.         and this routine has been performed for 200 times. This
  479.         routine is place in KEY?, so it is called all the time we
  480.         are waiting for a key.
  481.  
  482. statkey         ( --- c1 )
  483.         Wait for a key from the user, also resets STATCNT after a
  484.         key has been pressed.
  485.  
  486. pdn             ( --- )
  487.         Move down a screen full of lines in the file.
  488.  
  489. pup             ( --- )
  490.         Move up a screen full of lines in the file.
  491.  
  492. >space          ( --- )
  493.         Move to the next space in the current line.
  494.  
  495. space>          ( --- )
  496.         Move to the next non-space in the current line.
  497.  
  498. <<space>        ( ---  f1 )
  499.         Move to the previous space in the current line, returning
  500.         f1 true if a space was found, false otherwise.
  501.  
  502. <text           ( --- )
  503.         Move to the previous non-space character in the current line.
  504.  
  505. rwrd            ( --- )
  506.         Move right in the current line to the beginning of the next
  507.         word on the line.
  508.  
  509. lwrd            ( --- )
  510.         Move left in the current line to the beginning of the
  511.         previous word in the line, or the beginning of the line if
  512.         no previous word is found.
  513.  
  514. splitline       ( --- )
  515.         Split the current line at the cursor into two lines.
  516.  
  517. <nln>           ( --- )
  518.         Split the current line into two lines at the cursor if we
  519.         are in insert mode. Does not redisplay the screen.
  520.  
  521. nln             ( --- )
  522.         Split the current line into two lines at the cursor if we
  523.         are in insert mode. Also redisplays the screen.
  524.  
  525. fdbuf           ( --- a1 )
  526.         Forward word delete buffer, Holds the words deleted with
  527.         word delete. Word undelete removes and re-inserts the words
  528.         from this buffer.
  529.  
  530. csaveflg        ( --- a1 )
  531.         Holds a flag that controls whether we are saving word deleted
  532.         characters in the FDBUF buffer.
  533.  
  534. csaveon         ( --- )
  535.         Turns forward delete buffering on.
  536.  
  537. csaveoff        ( --- )
  538.         Turns forward delete buffering off.
  539.  
  540. csave           ( c1 --- )
  541.         Save character c1 into the forward delete buffer if saving
  542.         is on, else discard c1.
  543.  
  544. <fdel>          ( --- )
  545.         Delete the character under the cursor.
  546.  
  547. split.lineend   ( --- )
  548.         Split the line at the cursor, saving the line end in
  549.         WRAP.BUF.
  550.  
  551. prepend.split   ( --- )
  552.         Prepend the text in wrap.buf to the current edit line.
  553.  
  554. showst          ( --- )
  555.         A defered word that shows the status line.
  556.  
  557. ?lmargin        ( --- )
  558.         If the cursor is at the left screen edge, adjust it to the
  559.         correct left margin.
  560.  
  561. ?right          ( --- )
  562.         Move right on character on the current line, may wrap to the
  563.         next line.
  564.  
  565. del<>bl's       ( --- )
  566.         Delete non blank characters in the current line from the cursor
  567.         to the right until a blank character is found.
  568.  
  569. delbl's         ( --- )
  570.         Delete blank characters in the current line from the cursor
  571.         to the right until a non-blank character is found or the
  572.         right margin is reached.
  573.  
  574. AppendLine      ( --- )
  575.         Append this line to the previous line.
  576.  
  577. bdel            ( --- )
  578.         Delete the character before the cursor. May join this line
  579.         with the previous line if in insert mode and cursor is on
  580.         column 0.
  581.  
  582. schr            ( c1 --- )
  583.         Insert or overtype character c1 into the current edit line.
  584.         May wrap to the next line if the right margin is encountered.
  585.  
  586. wudel           ( --- )
  587.         Undelete a word from the forward delete buffer.
  588.  
  589. linelook        ( --- f1 )
  590.         Scan through the current line looking for a match to the
  591.         text in SLOOK.BUF. Return boolean flag true if a match is
  592.         found.
  593.  
  594. inputline       ( --- a1 )
  595.         A variable that holds the line where input parameters for
  596.         search, replace ect. will be prompted.
  597.  
  598. looked          ( --- )
  599.         A variable that tells REPLACE that we have already done a
  600.         search. If no search has been done, replace is not allowed.
  601.  
  602. input$          ( a1 n1 -- a2 )
  603.         Prompt for user parameters, after displaying the prompt a1,n1.
  604.         Accpt up to 64 characters.
  605.  
  606. look.till       ( --- f1 )
  607.         Search the edit buffer starting at the next line, through the
  608.         end of the file for text located in SLOOK.BUF. Aborts if a
  609.         key is pressed during the search.
  610.  
  611. look.back       ( --- f1 )
  612.         Save as LOOK.TILL, but searches backwards.
  613.  
  614. <slooker>       ( --- )
  615.         Start searching forward starting at cursor location on
  616.         current line, proceeding through the end of the file for
  617.         text contained in SLOOK.BUF.
  618.  
  619. slooker         ( --- )
  620.         Search for text contained in SLOOK.BUF. Senses the condition
  621.         of the SHIFT key, and specifies a search that is CaSe
  622.         Sensitive if Shift is held down.
  623.  
  624. slookbk       ( --- )
  625.         Search backwards from cursor, looking for string held in
  626.         SLOOK.BUF. Searches case Insensitive.
  627.  
  628. sloob           ( --- )
  629.         Search backwards, and display results.
  630.  
  631. slooa           ( --- )
  632.         Search forward again, and display results.
  633.  
  634. sloon           ( --- )
  635.         Search new, that is prompt for a search string, then perform
  636.         search forward.
  637.  
  638. rep.buf         ( --- a1 )
  639.         Replace buffer, holds text used to replace found text.
  640.  
  641. repset          ( --- a1 )
  642.         Variable that holds a flag to tell if a replace string has
  643.         been entered. If no string has been entered then no replace
  644.         will be allowed.
  645.  
  646. <srepa>         ( --- )
  647.         Replace again, most recently found string with already
  648.         specified replace string.
  649.  
  650. srepa           ( --- )
  651.         Replace again, and then perform another search.
  652.  
  653. srepn           ( --- )
  654.         New replace, prompts for a replace string. Will not prompt
  655.         for a string until a search has been done first. After a
  656.         replace string has been entered, then a single replace
  657.         occurs followed by a search for the same text as the last
  658.         search.
  659.  
  660. repall          ( --- )
  661.         Replace all occurances of searched text with replace text.
  662.         Repeats until all occurances of search text are found and
  663.         replaced.
  664.  
  665. wr->fl          ( --- )
  666.         Write the current file in memory out to a file that the user
  667.         is prompted to enter. If ESC is pressed, no write will be
  668.         performed.
  669.  
  670. <joinln>        ( --- )
  671.         joint this line with the next line.
  672.  
  673. joinln          ( --- )
  674.         Join this line with the next line.
  675.  
  676. itgl            ( --- )
  677.         Toggle the insert mode between Insert and Overwrite.
  678.  
  679. fdel            ( --- )
  680.         Forward delete of the character under the cursor. If the
  681.         cursor is at the end of the line, the following line will
  682.         be joined to the current line.
  683.  
  684. wdel            ( --- )
  685.         Forward delete the word under the cursor. If the cursor
  686.         is at the end of the line, the following line will be
  687.         joined to the current line.
  688.  
  689. smrk            ( --- )
  690.         Set the mark for line get, cut, and copy.
  691.  
  692. sbtab           ( --- )
  693.         Move left to the previous tab position on the screen.
  694.  
  695. dnln            ( --- )
  696.         Move down one line in the current edit file.
  697.  
  698. upln            ( --- )
  699.         Move up one line in the current edit file.
  700.  
  701. tscrn           ( --- )
  702.         Move the cursor to the top of the current edit screen.
  703.  
  704. bscrn           ( --- )
  705.         Move the cursor to the bottom of the current edit screen.
  706.  
  707. scldn           ( --- )
  708.         Scroll the screen down one line.
  709.  
  710. sclup           ( --- )
  711.         Scroll the screen up one line.
  712.  
  713. stab            ( --- )
  714.         Tab right on the screen.
  715.  
  716. tabxp           ( --- )
  717.         Expand tabs (9) in the current file to spaces at
  718.         8 character multiples.
  719.  
  720. lundel          ( --- )
  721.         Un-delete one line from the line delete buffer segment.
  722.  
  723. sgetl           ( --- )
  724.         Get one line from the mark, to the current cursor line.
  725.         The mark line is incremented.
  726.  
  727. spltln          ( --- )
  728.         Split the current edit line at the cursor.
  729.  
  730. showscreen      ( --- )
  731.         Re-display the status line, the text lines, and the cursor.
  732.  
  733. ^cc             ( --- )
  734.         Allow entry of any character into the edit buffer, prompts
  735.         for the entry of any character on the keyboard to be pressed.
  736.  
  737. lmset           ( --- )
  738.         Set the left margin to the current column.
  739.  
  740. tabset          ( --- )
  741.         Set the TAB increment to the value of the current column.
  742.  
  743. notavail        ( --- )
  744.         Warning message that the function just performed is not
  745.         available without loading the enhances edit function set.
  746.  
  747. shelp
  748.         Defered word, used to display Help screens. See the file
  749.         EDITHELP.SEQ.
  750.  
  751. exportx
  752.         Defered word, used for the block text Copy function. See
  753.         the file PRINTING.SEQ.
  754.  
  755. excutx
  756.         Defered word, used to cut a block of text. See the file
  757.         PRINTING.SEQ.
  758.  
  759. importx
  760.         Defered word, used to insert text previously cut or
  761.         copied. See the file PRINTING.SEQ.
  762.  
  763. pmenux
  764.         Defered word, brings up the printing menu. See the file
  765.         PRINTING.SEQ.
  766.  
  767. kerr
  768.         Defered word, used for all keys that are not defined. It
  769.         just beeps.
  770.  
  771. s^tbl           ( n1 --- )
  772.         An execution table definition. performs function n1, as one
  773.         of the functions to be done for a control key 0 to 31.
  774.  
  775. sfuntbl         ( n1 --- )
  776.         An executuion table definition. Performs the function n1,
  777.         as one of the functions to be done for a function key.
  778.  
  779. ?controls       ( c1 --- c1 )
  780.         Handle control keys entered from the keyboard.
  781.  
  782. ?functions      ( c1 --- c2 )
  783.         Handle the function keys pressed at the keyboard.
  784.  
  785. ?del            ( c1 --- )
  786.         Handle the DEL key.
  787.  
  788. ?schr           ( c1 --- )
  789.         Handle all printable characters.
  790.  
  791. doachar         ( c1 --- f1 )
  792.         Handle all characters entered at the keyboard.
  793.  
  794. scrline         ( --- a1 )
  795.         A variable that holds the starting screen line when we
  796.         are entering the editor.
  797.  
  798. check.shndl     ( --- )
  799.         Verify the current handle is within the legal range for
  800.         the handle stack.
  801.  
  802. find.line       ( --- )
  803.         Find the line that contains the character offset specified
  804.         in the variable LASTLINE.
  805.  
  806. reedit          ( --- )
  807.         Re-enter the editor, main loop for editing.
  808.  
  809. <sed>           ( t1 --- )
  810.         Main entry point for the editor, prompts and reads a file
  811.         then calls REEDIT.
  812.  
  813. esed            ( t1 --- )
  814.         Start at the first line, and load a new file.
  815.  
  816. eed             ( --- )
  817.         Enter the editor where we were before, with screen on line 8.
  818.  
  819.